home *** CD-ROM | disk | FTP | other *** search
/ IRIX 5.3 for Indy R4400 / IRIX 5.3 for Indy R4400 175MHz.img / dist / eoe2.idb / usr / bin / sccsdiff.z / sccsdiff
Text File  |  1995-02-28  |  2KB  |  91 lines

  1. #!/bin/sh
  2. #    Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.
  3. #    Copyright (c) 1988 AT&T
  4. #      All Rights Reserved
  5.  
  6. #    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF
  7. #    UNIX System Laboratories, Inc.
  8. #    The copyright notice above does not evidence any
  9. #    actual or intended publication of such source code.
  10.  
  11. #ident    "@(#)sccs:cmd/sccsdiff.sh    6.5"
  12. #ident    "$Revision: 1.7 $"
  13. #    DESCRIPTION:
  14. #        Execute bdiff(1) on two versions of a set of
  15. #        SCCS files and optionally pipe through pr(1).
  16. #        Optionally specify bdiff segmentation size.
  17.  
  18. trap "rm -f /tmp/get[abc]$$;exit 1" 0 1 2 3 15
  19.  
  20. if [ $# -lt 3 ]
  21. then
  22.     echo "Usage: sccsdiff -r<sid1> -r<sid2> [-p] [-s<num-arg>] sccsfile ..." 1>&2
  23.     exit 1
  24. fi
  25.  
  26. for i in $@
  27. do
  28.     case $i in
  29.  
  30.     -*)
  31.         case $i in
  32.  
  33.         -r*)
  34.             if [ ! "$sid1" ]
  35.             then
  36.                 sid1=`echo $i | sed -e 's/^-r//'`
  37.             elif [ ! "$sid2" ]
  38.             then
  39.                 sid2=`echo $i | sed -e 's/^-r//'`
  40.             fi
  41.             ;;
  42.         -s*)
  43.             num=`echo $i | sed -e 's/^-s//'`
  44.             ;;
  45.         -p*)
  46.             pipe=yes
  47.             ;;
  48.         *)
  49.             echo "$0: unknown argument: $i" 1>&2
  50.             exit 1
  51.             ;;
  52.         esac
  53.         ;;
  54.     *s.*)
  55.         files="$files $i"
  56.         ;;
  57.     *)
  58.         echo "$0: $i not an SCCS file" 1>&2
  59.         ;;
  60.     esac
  61. done
  62.  
  63. for i in $files
  64. do
  65.     if get -s -p -k -r$sid1 $i > /tmp/geta$$
  66.     then
  67.         if get -s -p -k -r$sid2 $i > /tmp/getb$$
  68.         then
  69.             bdiff /tmp/geta$$ /tmp/getb$$ $num > /tmp/getc$$
  70.         fi
  71.     fi
  72.     if [ ! -s /tmp/getc$$ ]
  73.     then
  74.         if [ -f /tmp/getc$$ ]
  75.         then
  76.             echo "$i: No differences" > /tmp/getc$$
  77.         else
  78.             exit 1
  79.         fi
  80.     fi
  81.     if [ "$pipe" ]
  82.     then
  83.         pr -h "$i: $sid1 vs. $sid2" /tmp/getc$$
  84.     else
  85.         cat /tmp/getc$$
  86.     fi
  87. done
  88.  
  89. trap 0
  90. rm -f /tmp/get[abc]$$
  91.